#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project ：python_learning 
@File ：对比同步和异步.py
@IDE  ：PyCharm 
@Author ：李涵彬
@Date ：2025/7/18 上午9:28 
"""

import asyncio
import time


# 同步版本 - 会阻塞整个程序
def sync_function():
	print("同步函数开始")
	time.sleep(2)  # 阻塞整个程序2秒
	print("同步函数结束")


# 异步版本 - 不会阻塞程序
async def async_function(content:str = ""):
	print(f"{content}异步函数开始")
	await asyncio.sleep(2)  # 暂停当前协程2秒，但不阻塞程序
	print(f"{content}异步函数结束")


# 演示差异
async def main():
	print("=== 异步执行演示 ===")

	# 同时启动两个异步函数
	task1 = asyncio.create_task(async_function("task1"))
	task2 = asyncio.create_task(async_function("task2"))

	# 等待两个任务完成
	await task1
	await task2

	print("两个异步函数几乎同时执行完成")


asyncio.run(main())
